﻿using System;
using System.Collections.Generic;

namespace Sharp.DataTransferObject.Workflow
{
    /// <summary>
    /// 活动实例的实体对象
    /// </summary>
    [Serializable]
    public class ActivityInstanceDTO 
    {
        
        
        
        public int Id { get; set; }

        
        
        public int ProcessInstanceID { get; set; }

        
        
        
        public string AppName { get; set; }

        
        
        
        public string AppInstanceID { get; set; }

        
        
        
        public string ProcessGUID { get; set; }

        
        
        
        public string ActivityGUID { get; set; }

        
        
        
        public string ActivityName { get; set; }

        
        
        public byte ActivityType { get; set; }

        
        
        public byte ActivityState { get; set; }

        
        
        public short WorkItemType { get; set; }

        
        
        public string AssignedToUserIDs { get; set; }

        
        
        public string AssignedToUserNames { get; set; }

        
        public short BackwardType { get; set; }

        
        public Nullable<int> BackSrcActivityInstanceID { get; set; }

        
        public Nullable<short> GatewayDirectionTypeID { get; set; }

        
        
        public byte CanRenewInstance { get; set; }

        
        
        public int TokensRequired { get; set; }

        
        
        public int TokensHad { get; set; }

        
        public Nullable<short> ComplexType { get; set; }

        
        public Nullable<short> MergeType { get; set; }

        
        public Nullable<int> MIHostActivityInstanceID { get; set; }

        
        public Nullable<short> CompareType { get; set; }

        
        public Nullable<double> CompleteOrder { get; set; }

        
        public Nullable<short> SignForwardType { get; set; }

        
        
        
        public int? CreatedUserId { get; set; }

        
        
        
        public string CreatedUserName { get; set; }

        
        
        
        public System.DateTime? CreatedTime { get; set; }

        
        
        public string ModifiedUserId { get; set; }

        
        
        public string LastUpdatedByUserName { get; set; }

        
        public Nullable<System.DateTime> ModifiTime { get; set; }

        
        public Nullable<System.DateTime> EndedDateTime { get; set; }

        
        
        public string EndedByUserID { get; set; }

        
        
        public string EndedByUserName { get; set; }

        
        
        public byte RecordStatusInvalid { get; set; }

        
        
        

        public virtual ICollection<TaskDTO> Tasks { get; set; }
        public virtual ICollection<ProcessInstanceDTO> ProcessInstances { get; set; }
        public ICollection<TransitionInstanceDTO> TransitionInstances { get; set; }
    }
}
